Every year millions of people, companies, and other institutions file various documents with the different governing bodies, such as agencies and services of local, state and national governments. The documents typically are directed toward such things as filing taxes, inventory and accounting filings, medical reimbursement filings, and the like.
Each document is typically designed around the concept of forms. A form includes several data-containing fields and static text describing and relating to the fields. The fields may be user-generated or calculated. A user-generated field is a field which has data from the user or outside resource. A calculated field is a field in which the data is calculated using data in other fields (e.g., user-generated fields and/or calculated fields).
Static text that is used in a form is generally used to instruct the user on how to enter the data in the field. Specifically, the static text may include information for calculating the value for the field. For example, the static text may include the instruction “add field_1, field_2, and field_3 and enter total in field_4”. The static text may also specify parameters for entering data in the field. For example, the static text may include the instruction “if born before 1934 and have three children, then enter 1, otherwise enter 2”. Accordingly, the static text describes how the user generated and calculated fields are to be entered.
Typically, software products are used for simplifying the input of data into the fields. Specifically, a software product may include software instructions to request data using user-friendly questions and automatically insert the data into several fields. By using an easy-to-use user interface, a user is able to navigate the complex documents and ensure compliance with the instructions in the field.
Before the software product can be used, the code for the product must be written using a programming language. Writing the code for a field is often performed by a programmer. Specifically, a programmer reads the document, determines the relevant static text and determines what code should be entered in the field in order to comply with any instructions specified in the static text. Only after the programmer has performed the operation for all fields may the software product be ready to be bought and used by consumers.